<?php

namespace App\Http\Controllers\Admin;

use App\Http\Controllers\Controller;
use App\Http\Requests\AdminModuleRequest;
use App\Models\AdminModule;
use Illuminate\Http\Request;

class ModuleController extends Controller
{
    public function __construct()
    {
        //使用 middleware中间件对访问这个控制器中方法的request请求进行验证,如果没有过中间件的验证访问这个控制器的request请求就会被阻止.
        $this->middleware('admin:Admin-module');
    }

    public function index()
    {
//        dd(center_menus());
//        dd(AdminModule::where('module','admin')->first()->admin_menu);
        $modules = AdminModule::get();
        return view('admin.module_index',compact('modules'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  \App\Models\AdminModule  $adminModule
     * @return \Illuminate\Http\Response
     */
    public function show(AdminModule $adminModule)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  \App\Models\AdminModule  $adminModule
     * @return \Illuminate\Http\Response
     */
    public function edit(AdminModule $module)
    {
//        渲染编辑模块视图并将要编辑的对象作为参数传递过去
        return view('admin.module_edit',compact('module'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \App\Models\AdminModule  $adminModule
     * @return \Illuminate\Http\Response
     */
    public function update(AdminModuleRequest $request, AdminModule $module)
    {
//            dd([$request->all(),$module]);
//        $request中存放的是前台通过post表单提交过来的数据
//        调用AdminModule模型的update方法更新数据
        $module->update($request->all());
//        下面这样写运行的时候浏览器报错,提示没有modules是未定义的变量
//        return view('admin.module_index')->with('success','模块儿编辑成功');
        return redirect(route('admin.module.index'))->with('success','模块儿编辑成功');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  \App\Models\AdminModule  $adminModule
     * @return \Illuminate\Http\Response
     */
    public function destroy(AdminModule $adminModule)
    {
        //
    }
}
